package qc.common.core.enums;

import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 渠成列类型;定义列中存储的对象类型标识，id、名称、写入时间、更新时间、参数值等
 *
 * @author QuCheng Tech
 * @since 2024/2/21
 */
@Getter
@AllArgsConstructor
public enum ColumnTypeEnum {
    UN_DEFINE(0, "未定义"),
    ID(10, "ID"),
    ID_INT(11, "整数ID"),
    ID_UUID_36(12, "36位UUID"),
    ID_UUID_32(13, "32位UUID"),
    OBJECT_ID(20, "对象ID/编码"),
    OBJECT_NAME(21, "对象名称"),
    TIME_IN(30, "创建时间"),
    TIME_UPDATE(31, "更新时间"),
    TIME_STAMP(32, "数据时标"),
    VALUE(40, "数据值"),
    VALUE_BOOL(41, "布尔数值"),
    VALUE_INT(42, "整数数值"),
    VALUE_DECIMAL(43, "小数数值"),
    STATUS_RESOURCE(50, "资源状态"),//对应枚举类ResourceStatusFlagEnum，用于查询控制禁用或删除是否返回
    DICT(70, "字典"),//序列、自定义序列
    DICT_ENUM(71, "枚举字典"),
    DICT_DEFINE(72, "数据字典"),
    PARAM_VALUE(80, "参数值"),
    USER_ID(90, "操作用户ID"),
    USER_NAME(91, "操作用户名称");

    @EnumValue
    private int index;
    private String name;
}
